package org.example.flinkderivedvariableengine.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 元数据字段定义表
 */
@Data
@TableName(value = "pboc_inf")
public class PbocInf {
    /**
     * UUID主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    /**
     * 字段名称（英文）
     */
    @TableField(value = "field_name")
    private String fieldName;

    /**
     * 节点描述（中文）
     */
    @TableField(value = "description")
    private String description;

    /**
     * 类型：object/list/string/time/decimal/int等
     */
    @TableField(value = "`type`")
    private String type;

    /**
     * 正则或时间格式
     */
    @TableField(value = "pattern")
    private String pattern;

    /**
     * 当前节点绝对路径（点连接）
     */
    @TableField(value = "origin_path")
    private String originPath;

    /**
     * 父节点路径（根节点为-1）
     */
    @TableField(value = "parent_path")
    private String parentPath;

    /**
     * 层级深度 0/1/2
     */
    @TableField(value = "`depth`")
    private String depth;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 原始字段标志 0:原始字段 1:中间变量
     */
    @TableField(value = "original_flag")
    private String originalFlag;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
}